Redirection services are provided by, for example, the HTTP protocol, which finds use with the Internet and the World Wide Web (e.g., interlinked hypertext documents accessible via the Internet).
For the Internet, resources (e.g., information, programs, etc.) are located using uniform resource locators or universal resource locator (URLs), a type of uniform resource identifier (URI). A URL includes, for example: a scheme name (e.g., HTTP), followed by a colon, two slashes, then, depending on scheme, a domain name (e.g., alternatively, an IP address), a port number, a path of a resource to be fetched or a program to be run, then, for example, for programs such as Common Gateway Interface (CGI) scripts, a query string, key-value string, etc., and an optional fragment identifier.
As to redirecting, using HTTP as an example, a redirect is a response with a status code beginning with 3 that induces a browser to go to another location, with annotation describing the reason, which allows for the correct subsequent action (such as changing links in the case of code 301, a permanent change of address). HTTP defines several status codes for redirection, including: 300 multiple choices (e.g., to offer different languages); 301 moved permanently; 302 found (e.g., optionally to specify redirection for a particular reason, which may be unspecified); 303 see other (e.g., for results of cgi-scripts); and 307 temporary redirect.
The foregoing status codes operate according to a redirect target in a location header of a HTTP response. Below is an example of an HTTP response that uses the status code 301 “moved permanently” redirect:
HTTP/1.1 301 Moved PermanentlyLocation: http://www.example.org/Content-Type: text/htmlContent-Length: 174<html><head><title>Moved</title></head><body><h1>Moved</h1><p>This page has moved to <ahref=“http://www.example.org/”>http://www.example.org/</a>.</p></body></html>
A redirection service may be part of an information management system that provides an Internet link that redirects users to desired content. A redirect link may be used as a permanent address, for example, as to content that frequently changes hosts. As an example, the redirection service “bit.ly” shortens URLs through use of the bit.ly domain or other custom domains to generate shortened links. Redirection is achieved using an HTTP Redirect (e.g., URL forwarding from the short URL to the full URL).
On the Internet, various server variables are available, which may be part of a request (e.g., Request.ServerVariables). A request may include one or more parameters that specify information (e.g., server_variable). As an example, a variable “REMOTE_ADDR” may be specified as a parameter for the IP address of a remote host making a request, noting that an IP address can assist in geolocation. As an example, a user, using the browser, can enter a domain name for a webpage such that the browser instructs the computer to send a request to retrieve the webpage. To allow a server hosting the webpage to respond to the request, the request includes the IP address of the sending computer (i.e., where the information should be sent).
Depending on configuration, a server may also respond by sending a cookie (e.g., which may be stored by the browser application). A cookie includes some information, which a browser application may instruct a computer to send upon a subsequent request.
While some examples mention “browser” or “browser application”, any application that allows for access to the Internet (e.g., using the HTTP) may be configured to make a request. As an example of a type of application, consider the various iTunes apps that may be implemented on an iPhone device such that the iPhone device can send a request.
On the World Wide Web, in a system known as affiliate marketing, a publisher can be any type of Web site, app, etc, from a well-known destination that offers consumers a range of shopping opportunities to a blogger that's just beginning to attract an audience to an app developer. As a loyal following is built, opportunities exist via affiliate marketing to monetize the site, the app, etc. by earning commissions. In such a scheme, the publisher can become an affiliate of an affiliate program where the publisher can displays ads, text links, or product links (e.g., from an advertiser or other entity) in return for a commission when a sale is made or when a lead is acquired. A sale may be tied to a specific action such as filling out a form or downloading a trial.
One affiliate network is LinkShare, which manages various different affiliate programs. LinkShare facilitates relationships between publishers and advertisers by providing the underlying technology that manages links, tracks results and commissions, and sends payments.
An affiliate programs may operate as follows: a site owner (e.g., affiliate) promotes goods or services of a merchant for sale on its site by including an “affiliate link” to direct a user to that merchant for a good, goods, a service, services, etc. When a user (e.g., a visitor) click on the affiliate link, an identification code is associated with the click (e.g., via a cookie) and in the event that the user takes an appropriate action (e.g., a visit, a conversion to a lead, a conversion to a sale) then the affiliate (i.e., the site owner) is paid by the merchant. The merchant or affiliate network will also usually provide tools for the affiliate to monitor various metrics, such as the number of visitors sent to a merchant site, the number of clicks or sales generated, and the earnings accumulated. Affiliate relationships may be established either with each merchant directly (e.g., Amazon.com), or through an established third-party affiliate network (e.g., LinkShare, TradeDoubler, Commission Junction, etc.).